/**
 * Redux的使用第一步：创建/管理 Store 数据
 * 【说明】：通过 createSlice 函数创建状态管理，
 *          name：用于表示该模块的名字
 *          initialState：用于管理数据
 *          reducers：用于定义修改数据的方法
 */
import { createSlice } from "@reduxjs/toolkit";

const counterStore = createSlice({
  // 给该模块一个名字
  name: "counter",

  // 使用 initialState 初始化状态管理数据（用于管理状态数据）
  initialState: {
    text: 0,
  },

  // reducers 是用于修改数据的方法,同步方法，支持直接修改
  reducers: {
    // 增方法
    addCount(store) {
      store.text += 1;
    },

    // 减方法
    minusCount(store) {
      store.text -= 1;
    },

    // 传递参数：接收参数并修改text值
    setCount(store, action) {
      // 传递过来的参数，会在 action.payload 属性中
      console.log(action);
      store.text = action.payload;
    },
  },
});


// 通过 counterStore.actions 将修改数据的方法解构出来、actionCreater
const { addCount, minusCount, setCount, setImgs } = counterStore.actions;

// 获取reducers函数
const counterReducers = counterStore.reducer;

// 按需导出
export { addCount, minusCount, setCount, setImgs };

// 默认导出
export default counterReducers;
